package com.moji.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 订单明细表
 * </p>
 *
 * @author ccl
 * @since 2024-08-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="MjOrderDetail对象", description="订单明细表")
public class MjOrderDetail extends Model<MjOrderDetail> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "订单编码")
    private String orderCode;

    @ApiModelProperty(value = "订单明细")
    private String orderMxCode;

    @ApiModelProperty(value = "订单名称")
    private String orderName;

    @ApiModelProperty(value = "服务类别")
    private String serviceType;

    @ApiModelProperty(value = "服务城市编码")
    private String serviceCityCode;

    @ApiModelProperty(value = "服务城市")
    private String serviceCity;

    @ApiModelProperty(value = "调用方式编码")
    private String callWayCode;

    @ApiModelProperty(value = "调用方式")
    private String callWay;

    @ApiModelProperty(value = "数据类型")
    private String dataType;

    @ApiModelProperty(value = "调用量编码")
    private String callCountCode;

    @ApiModelProperty(value = "调用量")
    private String callCount;

    @ApiModelProperty(value = "服务时长编码")
    private String serviceTimeCode;

    @ApiModelProperty(value = "服务时长")
    private String serviceTime;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生效时间")
    private Date effectTime;

    @ApiModelProperty(value = "天气类型编码")
    private String weatherTypeCode;

    @ApiModelProperty(value = "天气类型")
    private String weatherType;

    @ApiModelProperty(value = "全球城市编码")
    private String globalCityCode;

    @ApiModelProperty(value = "全球城市")
    private String globalCity;

    @ApiModelProperty(value = "费用")
    private BigDecimal amount;

    @ApiModelProperty(value = "使用状态0-待使用 1-使用中 2-已关闭 3-已失效 ")
    private Integer useStatus;

    @ApiModelProperty(value = "操作人id")
    private String updateId;

    @ApiModelProperty(value = "创建人id")
    private String createId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "备用字段1")
    private Integer spareInt1;

    @ApiModelProperty(value = "备用字段2")
    private Integer spareInt2;

    @ApiModelProperty(value = "备用字段1")
    private String spareString1;

    @ApiModelProperty(value = "备用字段2")
    private String spareString2;

    @TableField(exist = false)
    @ApiModelProperty(value = "到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expirationTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
